// 认证模块相关的TypeScript类型定义

/**
 * 用户登录请求参数
 */
export interface LoginRequest {
  username: string
  password: string
}

/**
 * 用户注册请求参数
 */
export interface RegisterRequest {
  username: string
  password: string
  email: string
  phone: string
  nickname: string
}

/**
 * 用户信息
 */
export interface UserInfo {
  id: number
  username: string
  email: string
  phone: string
  nickname: string
  avatar: string
  role: string
  roleId?: number
  status?: number
  createdAt?: string
  updatedAt?: string
  lastLogin?: string
}

/**
 * 登录响应数据
 */
export interface LoginResponse {
  accessToken: string
  refreshToken: string
  user: UserInfo
}

/**
 * 刷新Token请求参数
 */
export interface RefreshTokenRequest {
  refreshToken: string
}

/**
 * 修改密码请求参数
 */
export interface ChangePasswordRequest {
  oldPassword: string
  newPassword: string
}

/**
 * 更新个人资料请求参数
 */
export interface UpdateProfileRequest {
  nickname?: string
  email?: string
  phone?: string
  avatar?: string
}

/**
 * 用户列表响应数据
 */
export interface UserListResponse {
  list: UserInfo[]
  total: number
  page: number
  pageSize: number
}

/**
 * 更新用户信息请求参数
 */
export interface UpdateUserRequest {
  nickname?: string
  email?: string
  phone?: string
  avatar?: string
  status?: number
  role?: string
}

/**
 * 修改用户角色请求参数
 */
export interface UpdateUserRoleRequest {
  role: string
}
